Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

unused assemblies

Îåêßíçóå áðü ôï ìÝëïò zanny. Τελευταία δημοσίευση από το μέλος cap στις 04-01-2006, 11:59. Υπάρχουν 1 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  16-12-2005, 15:47 8052

    unused assemblies

        Χρησιμοποιώντας το VS2003 χρησιμοποιούσα το System.Reflection.Assembly.GetReferencedAssemblies το οποίο και επέστρεφε αυτό που αναφέρει, δηλαδή όλα τα Referenced Assemblies που υπάρχουν στο project.
    Δυστυχώς ανακάλυψα ότι αυτό έχει αλλάξει και πλέον επιστρέφονται μόνο αυτά τα οποία χρησιμοποιούνται, υπάρχει δηλαδή άμμεση δήλωσή τους σε μέρος του project.

    Το ερώτημα λοιπόν είναι, με ποιον τρόπο μπορώ να πάρω και τα υπόλοιπα assemblies??
  •  04-01-2006, 11:59 8367 σε απάντηση της 8052

    Απ: unused assemblies

    Αν και τις προηγούμενες ημέρες έψαξα αρκετή ώρα, δεν βρήκα κατι ικανοποιητικό και γι'αυτό και δεν έγραψα τίποτα. Καπου μεσα στις αναζητήσεις, είδα κάτι το οποίο είναι ψιλοπροφανές, αλλα το γράφω εδώ σε περίπτωση που βοηθάει (δεν το έχω τεστάρει στην πράξη):

    Με reflection θα πάρεις στο 2005 τα assemblies τα οποία οντως χρησιμοποιούνται. Ενας τρόπος να "χρησιμοποιήσεις" όλα τα assemblies (και άρα να τα πάρεις με το GetReferencedAssemblies) είναι να δημιουργήσεις dummy references ξεκινώντας την εκτέλεση. Αυτό το προτείνουν διάφοροι, το θεωρώ όμως λίγο overkill.

    Απο την άλλη, αν θέλεις τα assemblies τα οποία κάνει reference το Project αυτό καθαυτό, διάφοροι τύποι προτείνουν να χρησιμοποιήσεις το extensibility model του VS παίρνοντας το EnvDTE.Project και κάνοντας cast το
    EnvDTE.Project.Object σε VSLangProj.VSProject. Επειτα μπορείς να χρησιμοποιησεις το VSProject.References.

    Επαναλαμβάνω, βεβαια, οτι δεν το έχω δοκιμάσει.


    Σωτήρης Φιλιππίδης

    DotSee Web Services

    View Sotiris Filippidis's profile on LinkedIn

    DotNetNuke them!
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems